package br.com.conciliador.consulta.vo;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;

import br.com.conciliador.consulta.vo.filtro.FiltroConsultaDuplicidadeVo;
import br.com.r2.util.tipodado.Data;
import br.com.r2.util.tipodado.Inteiro;
import br.com.r2.util.tipodado.InteiroLongo;
import br.com.r2.util.tipodado.Moeda;
import br.com.r2.util.tipodado.Texto;

@Entity
@Table(name = "VWDUPLICIDADE")
@Proxy(lazy = true)
public class ConsultaDuplicidadeVo implements Serializable
{

   /**
    * 
    */
   private static final long serialVersionUID = -2404221425047670612L;

   @EmbeddedId
   protected DuplicidadePK duplicidadePK;

   @Column(name = "ID")
   @Type(type = "br.com.r2.util.tipodado.hibernate.InteiroLongoUT")
   private InteiroLongo codigoDataVenda;

   @Column(name = "DATA_VENDA")
   @Type(type = "br.com.r2.util.tipodado.hibernate.DataUT")
   private Data dataVenda;

   @Column(name = "NUMERO_CARTAO")
   @Type(type = "br.com.r2.util.tipodado.hibernate.TextoUT")
   private Texto numeroCartao;

   @Column(name = "VALOR_VENDA")
   @Type(type = "br.com.r2.util.tipodado.hibernate.MoedaUT")
   private Moeda valorVenda;

   @Column(name = "PLANO")
   @Type(type = "br.com.r2.util.tipodado.hibernate.InteiroUT")
   private Inteiro plano;

   @Column(name = "LOJA")
   @Type(type = "br.com.r2.util.tipodado.hibernate.InteiroLongoUT")
   private InteiroLongo loja;

   @Column(name = "DESCRICAO_LOJA")
   @Type(type = "br.com.r2.util.tipodado.hibernate.TextoUT")
   private Texto nomeLoja;

   @Column(name = "BANDEIRA")
   @Type(type = "br.com.r2.util.tipodado.hibernate.InteiroLongoUT")
   private InteiroLongo bandeira;

   @Column(name = "DESCRICAO_BANDEIRA")
   @Type(type = "br.com.r2.util.tipodado.hibernate.TextoUT")
   private Texto nomeBandeira;

   @Column(name = "PRODUTO")
   @Type(type = "br.com.r2.util.tipodado.hibernate.InteiroLongoUT")
   private InteiroLongo produto;

   @Column(name = "DESCRICAO_PRODUTO")
   @Type(type = "br.com.r2.util.tipodado.hibernate.TextoUT")
   private Texto nomeProduto;

   @Transient
   private FiltroConsultaDuplicidadeVo filtro;

   public DuplicidadePK getDuplicidadePK()
   {
      return duplicidadePK;
   }

   public void setDuplicidadePK(DuplicidadePK divergenciaPK)
   {
      this.duplicidadePK = divergenciaPK;
   }

   public Data getDataVenda()
   {
      return dataVenda;
   }

   public void setDataVenda(Data dataVenda)
   {
      this.dataVenda = dataVenda;
   }

   public Texto getNumeroCartao()
   {
      return numeroCartao;
   }

   public void setNumeroCartao(Texto numeroCartao)
   {
      this.numeroCartao = numeroCartao;
   }

   public Moeda getValorVenda()
   {
      return valorVenda;
   }

   public void setValorVenda(Moeda valorVenda)
   {
      this.valorVenda = valorVenda;
   }

   public Inteiro getPlano()
   {
      return plano;
   }

   public void setPlano(Inteiro plano)
   {
      this.plano = plano;
   }

   public InteiroLongo getLoja()
   {
      return loja;
   }

   public void setLoja(InteiroLongo loja)
   {
      this.loja = loja;
   }

   public Texto getNomeLoja()
   {
      return nomeLoja;
   }

   public void setNomeLoja(Texto nomeLoja)
   {
      this.nomeLoja = nomeLoja;
   }

   public InteiroLongo getBandeira()
   {
      return bandeira;
   }

   public void setBandeira(InteiroLongo bandeira)
   {
      this.bandeira = bandeira;
   }

   public Texto getNomeBandeira()
   {
      return nomeBandeira;
   }

   public void setNomeBandeira(Texto nomeBandeira)
   {
      this.nomeBandeira = nomeBandeira;
   }

   public InteiroLongo getProduto()
   {
      return produto;
   }

   public void setProduto(InteiroLongo produto)
   {
      this.produto = produto;
   }

   public Texto getNomeProduto()
   {
      return nomeProduto;
   }

   public void setNomeProduto(Texto nomeProduto)
   {
      this.nomeProduto = nomeProduto;
   }

   public FiltroConsultaDuplicidadeVo getFiltro()
   {
      return filtro;
   }

   public void setFiltro(FiltroConsultaDuplicidadeVo filtro)
   {
      this.filtro = filtro;
   }

   public InteiroLongo getCodigoDataVenda() 
   {
	   return codigoDataVenda;
   }

   public void setCodigoDataVenda(InteiroLongo codigoDataVenda) 
   {
	   this.codigoDataVenda = codigoDataVenda;
   }
   
}
